|
1100
|
Is it is possible to exclude the non-working days when displaying the histogram using the exBarEffort for exHistOverAllocation type

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar,oBar1,oBar2
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Tasks")
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,40)
oChart:FirstVisibleDate := "06/20/2005"
oChart:HistogramVisible := .T.
oChart:HistogramHeight := 64
oChart:HistogramView := 112/*exHistogramAllItems*/
oBar := oChart:Bars:Item("Split")
oBar:Pattern := 6/*exPatternBDiagonal*/
oBar:Shape := 18/*exShapeThinUp*/
oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,128 } ) , .F. ))
oBar1 := oChart:Bars():Add("Task:Split")
oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,128 } ) , .F. ))
oBar1:Shortcut := "WorkingTask"
oBar1:Pattern := 6/*exPatternBDiagonal*/
oBar1:HistogramPattern := 6/*exPatternBDiagonal*/
oBar1:HistogramType := 1/*exHistOverAllocation*/
oBar2 := oChart:Bars():Item("Task")
oBar2:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. ))
oBar2:Pattern := 5/*exPatternFDiagonal*/
oBar2:HistogramType := 1/*exHistOverAllocation*/
oBar2:HistogramPattern := 5/*exPatternFDiagonal*/
oItems := oG2antt:Items()
h := oItems:AddItem("True")
oItems:AddBar(h,"WorkingTask","06/23/2005","06/29/2005")
oItems:SetProperty("ItemBar",h,"",21/*exBarEffort*/,4)
oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.T.)
h := oItems:AddItem("False")
oItems:AddBar(h,"Task","06/23/2005","06/29/2005")
oItems:SetProperty("ItemBar",h,"",21/*exBarEffort*/,4)
oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.F.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1099
|
I display numbers in my chart, but the AddBar requires a date how can I add a bar
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Tasks")
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:NonworkingDays := 0
oChart:FirstVisibleDate := 0
oChart:ToolTip := ""
oLevel := oChart:Level(0)
oLevel:Label := "<%i%>"
oLevel:ToolTip := ""
oChart:UnitWidth := 24
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Task 1"),"Task",2,4)
oItems:AddBar(oItems:AddItem("Task 2"),"Task",6,10)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1098
|
I display numbers in the chart's header but do not want to get displayed negative numbers. How can i do that
PROCEDURE OnDateChange(oG2antt)
oG2antt:Chart():FirstVisibleDate := 0
oG2antt:SetProperty("ScrollPartEnable",2/*exHChartScroll*/,1024/*exLeftBPart*/,.F.)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:DateChange := {|| OnDateChange(oG2antt)} /*Occurs when the first visible date is changed.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:NonworkingDays := 0
oChart:FirstVisibleDate := 0
oChart:ToolTip := ""
oLevel := oChart:Level(0)
oLevel:Label := "<%i%>"
oLevel:ToolTip := "<%i%>"
oChart:UnitWidth := 24
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1097
|
How can I display numbers in the chart's header instead dates

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:NonworkingDays := 0
oChart:FirstVisibleDate := 0
oChart:ToolTip := ""
oLevel := oChart:Level(0)
oLevel:Label := "<%i%>"
oLevel:ToolTip := ""
oChart:UnitWidth := 24
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1096
|
How can I create a bar that's not sizable, or can not be resized by default similar with milestone
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "12/24/2000"
oChart:LevelCount := 2
oBar := oChart:Bars():Add("Custom")
oBar:Shape := 0/*exShapeEmpty*/
oBar:StartShape := 1/*exShapeIconUp1*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem(""),"Custom","01/02/2001","01/02/2001","K1","This TYPE of bar can not be resized.")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1095
|
Is it possible to hide the non-working parts for items using the ItemNonworkingUnits, even if set the ShowNonworkingUnits, ShowNonworkingDates on False

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "12/27/2000"
oChart:SetProperty("PaneWidth",.F.,64)
oChart:LevelCount := 2
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oChart:NonworkingDaysPattern := 0/*exPatternEmpty*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:SetProperty("ItemNonworkingUnits",h2,.F.,"weekday(value) = 1")
oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1094
|
Is it possible to show the non-working parts for certain items, even if I hide the default non-working part

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "12/27/2000"
oChart:SetProperty("PaneWidth",.F.,64)
oChart:LevelCount := 2
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:SetProperty("ItemNonworkingUnits",h2,.F.,"weekday(value) = 1")
oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1093
|
How can I hide the non-working part of the chart
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2008"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1092
|
Is it possible to let users selects cells as in Excel
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn,oColumn1,oColumn2
LOCAL oColumns
LOCAL oItems
LOCAL h,h1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:FullRowSelect := 1/*exRectSel*/
oG2antt:SingleSel := .F.
oG2antt:ReadOnly := -1/*exReadOnly*/
oG2antt:MarkSearchColumn := .F.
oG2antt:ShowFocusRect := .F.
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 200,225,242 } ) , .F. ))
oColumns := oG2antt:Columns()
oColumns:Add("A")
oColumn := oColumns:Add("B")
oColumn:AllowSizing := .F.
oColumn:Width := 24
oColumn1 := oColumns:Add("C")
oColumn1:AllowSizing := .F.
oColumn1:Width := 24
oColumn1:SetProperty("Def",0/*exCellHasCheckBox*/,1)
oColumn1:PartialCheck := .T.
oColumn2 := oColumns:Add("D")
oColumn2:AllowSizing := .F.
oColumn2:Width := 24
oColumn2:SetProperty("Def",1/*exCellHasRadioButton*/,1)
oItems := oG2antt:Items()
h := oItems:InsertItem(,,"Group 1")
h1 := oItems:InsertItem(h,,16)
oItems:SetProperty("CellValue",h1,1,17)
h1 := oItems:InsertItem(h,,2)
oItems:SetProperty("CellValue",h1,1,11)
h1 := oItems:InsertItem(h,,2)
oItems:SetProperty("ItemBackColor",h1,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oItems:SetProperty("CellValue",h1,1,9)
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:InsertItem(,,"Group 2")
oItems:SetProperty("CellValueFormat",h,2,1/*exHTML*/)
h1 := oItems:InsertItem(h,,16)
oItems:SetProperty("CellValue",h1,1,9)
h1 := oItems:InsertItem(h,,12)
oItems:SetProperty("CellValue",h1,1,11)
h1 := oItems:InsertItem(h,,2)
oItems:SetProperty("CellValue",h1,1,2)
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1091
|
How can I hide a date from the chart view
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oInsideZooms
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2008"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:AllowInsideZoom := .T.
oChart:AllowResizeInsideZoom := .F.
oChart:InsideZoomOnDblClick := .F.
oInsideZooms := oChart:InsideZooms()
oInsideZooms:SplitBaseLevel := .F.
oInsideZooms:DefaultWidth := 0
oInsideZooms:Add("01/04/2008")
oInsideZooms:Add("01/05/2008")
oInsideZooms:Add("01/06/2008")
oChart:SelectLevel := 1
oChart:SetProperty("SelectDate","01/05/2008",.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1090
|
Can the SchedulePDM displays and edit the working units for my bars

PROCEDURE OnBarResizing(oG2antt, Item, Key)
oG2antt:Items():SchedulePDM(Item,Key)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oItems
LOCAL h1,h2,h3,h4
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BarResizing := {|Item, Key| OnBarResizing(oG2antt, Item, Key)} /*Occurs when a bar is moving or resizing.*/
oG2antt:BeginUpdate()
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns():Add("Task")
oColumn := oG2antt:Columns():Add("Working")
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn:Editor():EditType := 4/*SpinType*/
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,96)
oChart:AllowLinkBars := .F.
oChart:AllowCreateBar := 0/*exNoCreateBar*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","")
oItems:AddLink("L1",h1,"",h2,"")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","")
oItems:AddLink("L2",h2,"",h3,"")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
h4 := oItems:AddItem("Task 4")
oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","")
oItems:AddLink("L3",h4,"",h3,"")
oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.)
oItems:SchedulePDM(oItems:FirstVisibleItem(),"")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1089
|
Can the SchedulePDM displays the working units for my bars
PROCEDURE OnBarResizing(oG2antt, Item, Key)
oG2antt:Items():SchedulePDM(Item,Key)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3,h4
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BarResizing := {|Item, Key| OnBarResizing(oG2antt, Item, Key)} /*Occurs when a bar is moving or resizing.*/
oG2antt:BeginUpdate()
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns():Add("Task")
oG2antt:Columns():Add("Working"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,96)
oChart:AllowLinkBars := .F.
oChart:AllowCreateBar := 0/*exNoCreateBar*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","")
oItems:AddLink("L1",h1,"",h2,"")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","")
oItems:AddLink("L2",h2,"",h3,"")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
h4 := oItems:AddItem("Task 4")
oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","")
oItems:AddLink("L3",h4,"",h3,"")
oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.)
oItems:SchedulePDM(oItems:FirstVisibleItem(),"")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1088
|
Can the SchedulePDM keeps the working units for my bars
PROCEDURE OnBarResizing(oG2antt, Item, Key)
oG2antt:Items():SchedulePDM(Item,Key)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3,h4
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BarResizing := {|Item, Key| OnBarResizing(oG2antt, Item, Key)} /*Occurs when a bar is moving or resizing.*/
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,48)
oChart:AllowLinkBars := .F.
oChart:AllowCreateBar := 0/*exNoCreateBar*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
h4 := oItems:AddItem("Task 4")
oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","K4")
oItems:AddLink("L3",h4,"K4",h3,"K3")
oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1087
|
How can I arrange automatically the bars based on their links as soon as user moves the bars
PROCEDURE OnBarResizing(oG2antt, Item, Key)
oG2antt:Items():SchedulePDM(Item,Key)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3,h4
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BarResizing := {|Item, Key| OnBarResizing(oG2antt, Item, Key)} /*Occurs when a bar is moving or resizing.*/
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,48)
oChart:AllowLinkBars := .F.
oChart:AllowCreateBar := 0/*exNoCreateBar*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
h4 := oItems:AddItem("Task 4")
oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","K4")
oItems:AddLink("L3",h4,"K4",h3,"K3")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1086
|
How can I arrange automatically the bars based on their links as soon as user moves the bars
PROCEDURE OnBarResize(oG2antt, Item, Key)
oG2antt:Items():SchedulePDM(Item,Key)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BarResize := {|Item, Key| OnBarResize(oG2antt, Item, Key)} /*Occurs when a bar is moved or resized.*/
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oChart:AllowLinkBars := .F.
oChart:AllowCreateBar := 0/*exNoCreateBar*/
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1085
|
I have some buttons added on the control's scroll bar, how can I can know when the button is being clicked
PROCEDURE OnScrollButtonClick(oG2antt, ScrollBar, ScrollPart)
DevOut( Transform(ScrollBar,"") )
DevOut( Transform(ScrollPart,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:ScrollButtonClick := {|ScrollBar, ScrollPart| OnScrollButtonClick(oG2antt, ScrollBar, ScrollPart)} /*Occurs when the user clicks a button in the scrollbar.*/
oG2antt:SetProperty("ScrollPartVisible",1/*exHScroll*/,32768/*exLeftB1Part*/,.T.)
oG2antt:SetProperty("ScrollPartVisible",1/*exHScroll*/,16384/*exLeftB2Part*/,.T.)
oG2antt:SetProperty("ScrollPartVisible",1/*exHScroll*/,1/*exRightB6Part*/,.T.)
oG2antt:SetProperty("ScrollPartVisible",1/*exHScroll*/,2/*exRightB5Part*/,.T.)
oG2antt:ScrollBars := 5/*exDisableNoHorizontal*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1084
|
How do I get notified once the user clicks a hyperlink created using the anchor HTML tag
PROCEDURE OnAnchorClick(oG2antt, AnchorID, Options)
DevOut( Transform(AnchorID,"") )
DevOut( Transform(Options,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AnchorClick := {|AnchorID, Options| OnAnchorClick(oG2antt, AnchorID, Options)} /*Occurs when an anchor element is clicked.*/
oG2antt:Columns():Add("Default"):SetProperty("Def",17/*exCellValueFormat*/,1)
oItems := oG2antt:Items()
oItems:AddItem("This is a link: <aex.com;1>www.exontrol.com</a>")
oItems:AddItem("This is a link: <aex.net;2>www.exontrol.net</a>")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1083
|
Is it possible to start editing a cell when double click it
PROCEDURE OnDblClick(oG2antt, Shift, X, Y)
oG2antt:Edit()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:DblClick := {|Shift, X, Y| OnDblClick(oG2antt, Shift, X, Y)} /*Occurs when the user dblclk the left mouse button over an object.*/
oG2antt:BeginUpdate()
oG2antt:AutoEdit := .F.
oG2antt:MarkSearchColumn := .F.
oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/
oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems1 := oG2antt:Items()
oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1082
|
Is it possible to disable standard single-click behavior for this column, so I manually could call Edit() when needed
PROCEDURE OnDblClick(oG2antt, Shift, X, Y)
oG2antt:Edit()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:DblClick := {|Shift, X, Y| OnDblClick(oG2antt, Shift, X, Y)} /*Occurs when the user dblclk the left mouse button over an object.*/
oG2antt:BeginUpdate()
oG2antt:AutoEdit := .F.
oG2antt:MarkSearchColumn := .F.
oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/
oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems1 := oG2antt:Items()
oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1081
|
How can I get or restore the old or previously value for the cell being changed
PROCEDURE OnChange(oG2antt, Item, ColIndex, NewValue)
DevOut( "Old-Value:" )
DevOut( Transform(oG2antt:Items:CellValue(Item,ColIndex),"") )
DevOut( "New-Value:" )
DevOut( Transform(NewValue,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Change := {|Item, ColIndex, NewValue| OnChange(oG2antt, Item, ColIndex, NewValue)} /*Occurs when the user changes the cell's content.*/
oG2antt:BeginUpdate()
oG2antt:MarkSearchColumn := .F.
oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/
oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems1 := oG2antt:Items()
oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1080
|
How can I display the number of items being found after filtering
PROCEDURE OnFilterChange(oG2antt)
oG2antt:FilterBarCaption := Transform(oG2antt:Items:VisibleCount(),"")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:FilterChange := {|| OnFilterChange(oG2antt)} /*Occurs when the filter was changed.*/
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 1/*exFilterPromptContainsAll*/
oG2antt:FilterBarPromptPattern := "london"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1079
|
How can I highligth the item from the cursor as it moves
PROCEDURE OnMouseMove(oG2antt, Button, Shift, X, Y)
LOCAL oItems
LOCAL h
oG2antt:BeginUpdate()
h := oG2antt:ItemFromPoint(-1,-1,c,hit)
oItems := oG2antt:Items()
oItems:ClearItemBackColor(oG2antt:Background(1000/*0x200+exHSRight+exListOLEDropPosition*/))
oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. ))
oG2antt:SetProperty("Background",1000/*0x200+exHSRight+exListOLEDropPosition*/,h)
oG2antt:EndUpdate()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button, Shift, X, Y| OnMouseMove(oG2antt, Button, Shift, X, Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:DrawGridLines := 1/*exHLines*/
oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. ))
oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oG2antt:ShowFocusRect := .F.
oChart := oG2antt:Chart()
oChart:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. ))
oG2antt:Columns():Add("Items")
oItems := oG2antt:Items()
h := oItems:AddItem("R1")
oItems:InsertItem(h,,"Cell 1.1")
oItems:InsertItem(h,,"Cell 1.2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("R2")
oItems:InsertItem(h,,"Cell 2.1")
oItems:InsertItem(h,,"Cell 2.2")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1078
|
How can I get the item from the cursor
PROCEDURE OnMouseMove(oG2antt, Button, Shift, X, Y)
LOCAL h
h := oG2antt:ItemFromPoint(-1,-1,c,hit)
DevOut( "Handle" )
DevOut( Transform(h,"") )
DevOut( "Index" )
DevOut( Transform(oG2antt:Items:ItemToIndex(h),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button, Shift, X, Y| OnMouseMove(oG2antt, Button, Shift, X, Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:DrawGridLines := 1/*exHLines*/
oG2antt:Columns():Add("Items")
oItems := oG2antt:Items()
h := oItems:AddItem("R1")
oItems:InsertItem(h,,"Cell 1.1")
oItems:InsertItem(h,,"Cell 1.2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("R2")
oItems:InsertItem(h,,"Cell 2.1")
oItems:InsertItem(h,,"Cell 2.2")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1077
|
How can I get the column from the cursor, not only in the header
PROCEDURE OnMouseMove(oG2antt, Button, Shift, X, Y)
DevOut( Transform(oG2antt:ColumnFromPoint(-1,0),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button, Shift, X, Y| OnMouseMove(oG2antt, Button, Shift, X, Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:Columns():Add("P1")
oG2antt:Columns():Add("P2")
oG2antt:DrawGridLines := -1/*exAllLines*/
oItems := oG2antt:Items()
h := oItems:AddItem("R1")
oItems:SetProperty("CellValue",h,1,"R2")
oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 1.1"),1,"Cell 1.2")
oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 2.1"),1,"Cell 2.2")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1076
|
How can I get the column from the cursor
PROCEDURE OnMouseMove(oG2antt, Button, Shift, X, Y)
DevOut( Transform(oG2antt:ColumnFromPoint(-1,-1),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button, Shift, X, Y| OnMouseMove(oG2antt, Button, Shift, X, Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:Columns():Add("P1")
oG2antt:Columns():Add("P2")
oItems := oG2antt:Items()
h := oItems:AddItem("R1")
oItems:SetProperty("CellValue",h,1,"R2")
oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 1.1"),1,"Cell 1.2")
oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 2.1"),1,"Cell 2.2")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1075
|
How can I get the cell's caption from the cursor
PROCEDURE OnMouseMove(oG2antt, Button, Shift, X, Y)
LOCAL h
h := oG2antt:ItemFromPoint(-1,-1,c,hit)
DevOut( oG2antt:Items:CellCaption(h,c) )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button, Shift, X, Y| OnMouseMove(oG2antt, Button, Shift, X, Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:Columns():Add("Items")
oItems := oG2antt:Items()
h := oItems:AddItem("R1")
oItems:InsertItem(h,,"Cell 1.1")
oItems:InsertItem(h,,"Cell 1.2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("R2")
oItems:InsertItem(h,,"Cell 2.1")
oItems:InsertItem(h,,"Cell 2.2")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1074
|
Is it possible to change the style for the vertical or horizontal grid lines, in the list area
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:GridLineStyle := 33/*exGridLinesVSolid+exGridLinesHDot4*/
oG2antt:Columns():Add("C1")
oG2antt:Columns():Add("C2")
oG2antt:Columns():Add("C3")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:SetProperty("CellValue",h,1,"SubItem 1.2")
oItems:SetProperty("CellValue",h,2,"SubItem 1.3")
h := oItems:AddItem("Item 2")
oItems:SetProperty("CellValue",h,1,"SubItem 2.2")
oItems:SetProperty("CellValue",h,2,"SubItem 2.3")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1073
|
How can I show the bars over the grid lines, i.e. so you cannot see the grid lines 'through' the bar

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oItems
LOCAL oLevel
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 220,220,220 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/01/2001"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 256/*exGridLinesBehind*/
oChart:LevelCount := 2
oLevel := oChart:Level(1)
oLevel:DrawGridLines := .T.
oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 220,220,220 } ) , .F. ))
oBar := oChart:Bars:Item("Task")
oBar:Pattern := 1/*exPatternSolid*/
oBar:Height := 14
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A")
oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1072
|
Is it possible to change the style for the vertical grid lines, in the chart area only

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:GridLineStyle := 12/*exGridLinesDash*/
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/01/2001"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 12/*exGridLinesDash*/
oChart:LevelCount := 2
oChart:Level(1):DrawGridLines := .T.
oLevel := oChart:Level(0)
oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oLevel:GridLineStyle := 32/*exGridLinesVSolid*/
oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A")
oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1071
|
Is it possible to change the style for the grid lines, for instance to be solid not dotted

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:GridLineStyle := 48/*exGridLinesSolid*/
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/01/2001"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 48/*exGridLinesSolid*/
oChart:LevelCount := 2
oChart:Level(1):DrawGridLines := .T.
oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A")
oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1070
|
How can I show the grid lines for the chart and list area

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:DrawGridLines := -1/*exAllLines*/
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/01/2001"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:LevelCount := 2
oChart:Level(1):DrawGridLines := .T.
oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A")
oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1069
|
In the level of the chart we are showing the week number of the year (1-53) (Week: ww). However the weeknumber isn't correct. In western Europe the week of 04/01/2010 till 10/01/2010 is weeknumber 1, however the g2antt says it's week 2

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "12/28/2009"
oChart:LevelCount := 2
oChart:Level(0):Label := "Week: <%ww%>/<%yyyy%>"
oChart:FirstWeekDay := 1/*exMonday*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1068
|
How can I determine the current visible date range of the gantt chart area
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/06/2001")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/03/2001","01/07/2001")
oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/04/2001","01/08/2001")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/06/2001","01/10/2001")
DevOut( Transform(oG2antt:Chart:StartPrintDate(),"") )
DevOut( Transform(oG2antt:Chart:EndPrintDate(),"") )
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1067
|
How can I change the progress bar using a spin editor using values from 0 to 100

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Items():AllowCellValueToItemBar := .T.
oColumns := oG2antt:Columns()
oColumns:Add("Task")
oColumn := oColumns:Add("Percent")
oColumn:Editor():EditType := 4/*SpinType*/
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,518)
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:Bars():Add("Task%Progress")
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001")
oItems:SetProperty("CellValue",h,1,40)
h := oItems:AddItem("Task 2")
oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001")
oItems:SetProperty("CellValue",h,1,50)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1066
|
Is it possible to display the histogram for selected bars only

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,64)
oChart:FirstVisibleDate := "01/01/2001"
oChart:HistogramVisible := .T.
oChart:HistogramView := 8/*exHistogramSelectedBars*/
oChart:HistogramHeight := 32
oChart:Bars:Item("Task"):HistogramPattern := 6/*exPatternBDiagonal*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/03/2001","01/05/2001",1)
oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/04/2001","01/07/2001",2)
oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/06/2001",3)
oItems:SetProperty("ItemBar",0,2,257/*exBarSelected*/,.T.)
oItems:SetProperty("ItemBar",0,3,257/*exBarSelected*/,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1065
|
How can I fix a bar, so it is not selectable, moveable or resizable, fixed in other words
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/08/2001","K1","Unselectable")
oItems:SetProperty("ItemBar",h1,"K1",29/*exBarSelectable*/,.F.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1064
|
How can I fix a bar, so it is not moveable or resizable
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1","Fixed")
oItems:SetProperty("ItemBar",h1,"K1",10/*exBarCanResize*/,.F.)
oItems:SetProperty("ItemBar",h1,"K1",11/*exBarCanMove*/,.F.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1063
|
Is is possible to fix a bar during PDM scheduling
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"TaskF","01/02/2001","01/04/2001","K1")
oItems:SetProperty("ItemBar",h1,"K1",10/*exBarCanResize*/,.F.)
oItems:SetProperty("ItemBar",h1,"K1",11/*exBarCanMove*/,.F.)
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"TaskF","01/02/2001","01/04/2001","K3")
oItems:SetProperty("ItemBar",h3,"K3",10/*exBarCanResize*/,.F.)
oItems:SetProperty("ItemBar",h3,"K3",11/*exBarCanMove*/,.F.)
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1062
|
How can I specify that during scheduling the link, bars should be delayed, on working part

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/01/2001","01/03/2001","K1")
oItems:SetProperty("ItemBar",h1,"K1",20/*exBarKeepWorkingCount*/,.T.)
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:SetProperty("ItemBar",h2,"K2",20/*exBarKeepWorkingCount*/,.T.)
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:SetProperty("ItemBar",h3,"K3",20/*exBarKeepWorkingCount*/,.T.)
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"link delays the bars<br>for <b>2</b> working days")
oItems:SetProperty("Link","L2",16/*exLinkPDMWorkingDelay*/,2)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1061
|
How can I specify that during scheduling the link, bars should be delayed

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:ShowNonworkingDates := .F.
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/," Finish-Start<br>delayed <b>4</b> days")
oItems:SetProperty("Link","L2",17/*exLinkPDMDelay*/,4)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1060
|
The SchedulePDM method put the bars on non-working part, how can I prevent that

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
oItems:SetProperty("ItemBar",h1,"K1",20/*exBarKeepWorkingCount*/,.T.)
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:SetProperty("ItemBar",h2,"K2",20/*exBarKeepWorkingCount*/,.T.)
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:SetProperty("ItemBar",h3,"K3",20/*exBarKeepWorkingCount*/,.T.)
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FS")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1059
|
How can I add a SF (Start-Finish) link so activities get arranged using the SchedulePDM

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"SF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1058
|
How can I add a SS (Start-Start) link so activities get arranged using the SchedulePDM

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"SS")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,0)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1057
|
How can I add a FF (Finish-Finish) link so activities get arranged using the SchedulePDM

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "12/28/2000"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF")
oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2)
oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2)
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1056
|
How can I add a FS (Finish-Start) link so activities get arranged using the SchedulePDM

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SetProperty("Link","L2",12/*exLinkText*/,"FS")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1055
|
How can I schedule activities in the project plan
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3")
oItems:AddLink("L2",h3,"K3",h2,"K2")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1054
|
How do I arrange the bars based on the links

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h1,h2,h3
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h1 := oItems:AddItem("Task 1")
oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1")
h2 := oItems:AddItem("Task 2")
oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2")
oItems:AddLink("L1",h1,"K1",h2,"K2")
h3 := oItems:AddItem("Task 3")
oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3")
oItems:AddLink("L2",h2,"K2",h3,"K3")
oItems:SchedulePDM(0,"K1")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1053
|
Is is possible to use HTML tags to display in the filter caption
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarCaption := "This is a bit of text being displayed in the filter bar."
oG2antt:Columns():Add("")
oItems := oG2antt:Items()
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oItems:AddItem("Item 3")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1052
|
How can I find the number of items after filtering
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("")
oItems := oG2antt:Items()
h := oItems:AddItem("")
oItems:SetProperty("CellValue",h,0,oItems:VisibleItemCount())
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1051
|
How can I change the filter caption
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 12801/*exFilterPromptWords+exFilterPromptContainsAll*/
oG2antt:FilterBarPromptPattern := "london robert"
oG2antt:FilterBarCaption := "<r>Found: ... "
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1050
|
While using the filter prompt is it is possible to use wild characters
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 16/*exFilterPromptPattern*/
oG2antt:FilterBarPromptPattern := "lon* seat*"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1049
|
How can I list all items that contains any of specified words, not necessary at the beggining
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 4610/*exFilterPromptStartWords+exFilterPromptContainsAny*/
oG2antt:FilterBarPromptPattern := "london davolio"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1048
|
How can I list all items that contains any of specified words, not strings
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 12802/*exFilterPromptWords+exFilterPromptContainsAny*/
oG2antt:FilterBarPromptPattern := "london nancy"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1047
|
How can I list all items that contains all specified words, not strings
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 12801/*exFilterPromptWords+exFilterPromptContainsAll*/
oG2antt:FilterBarPromptPattern := "london robert"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1046
|
I've noticed that the filtering by prompt is not case sensitive, is is possible to make it case sensitive
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 258/*exFilterPromptCaseSensitive+exFilterPromptContainsAny*/
oG2antt:FilterBarPromptPattern := "Anne"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1045
|
Is it possible to list only items that ends with any of specified strings
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 4/*exFilterPromptEndWith*/
oG2antt:FilterBarPromptColumns := "0"
oG2antt:FilterBarPromptPattern := "Fuller"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1044
|
Is it possible to list only items that ends with any of specified strings
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 4/*exFilterPromptEndWith*/
oG2antt:FilterBarPromptColumns := "0"
oG2antt:FilterBarPromptPattern := "Fuller"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1043
|
Is it possible to list only items that starts with any of specified strings
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 3/*exFilterPromptStartWith*/
oG2antt:FilterBarPromptColumns := "0"
oG2antt:FilterBarPromptPattern := "An M"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1042
|
Is it possible to list only items that starts with specified string
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 3/*exFilterPromptStartWith*/
oG2antt:FilterBarPromptColumns := "0"
oG2antt:FilterBarPromptPattern := "A"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1041
|
How can I specify that the list should include any of the seqeunces in the pattern
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/
oG2antt:FilterBarPromptPattern := "london seattle"
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1040
|
How can I specify that all sequences in the filter pattern must be included in the list
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 1/*exFilterPromptContainsAll*/
oG2antt:FilterBarPromptPattern := "london manager"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1039
|
How do I change at runtime the filter prompt
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptPattern := "london manager"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1038
|
How do I specify to filter only a single column when using the filter prompt
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptColumns := "2,3"
oG2antt:FilterBarPromptPattern := "london"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1037
|
How do I change the prompt or the caption being displayed in the filter bar
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPrompt := "changed"
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1036
|
How do I enable the filter prompt feature

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:ColumnAutoResize := .T.
oG2antt:ContinueColumnScroll := .F.
oG2antt:FocusColumnIndex := 1
oG2antt:MarkSearchColumn := .F.
oG2antt:SearchColumnIndex := 1
oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oColumns := oG2antt:Columns()
oColumns:Add("Name"):Width := 96
oColumns:Add("Title"):Width := 96
oColumns:Add("City")
oItems := oG2antt:Items()
h0 := oItems:AddItem("Nancy Davolio")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Andrew Fuller")
oItems:SetProperty("CellValue",h0,1,"Vice President, Sales")
oItems:SetProperty("CellValue",h0,2,"Tacoma")
oItems:SetProperty("SelectItem",h0,.T.)
h0 := oItems:AddItem("Janet Leverling")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Kirkland")
h0 := oItems:AddItem("Margaret Peacock")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"Redmond")
h0 := oItems:AddItem("Steven Buchanan")
oItems:SetProperty("CellValue",h0,1,"Sales Manager")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Michael Suyama")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Robert King")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
h0 := oItems:AddItem("Laura Callahan")
oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator")
oItems:SetProperty("CellValue",h0,2,"Seattle")
h0 := oItems:AddItem("Anne Dodsworth")
oItems:SetProperty("CellValue",h0,1,"Sales Representative")
oItems:SetProperty("CellValue",h0,2,"London")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1035
|
How can I unselect all bars
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K2")
oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4")
oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.T.)
oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.F.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1034
|
Can I select bars using a pattern using wild characters as *,

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,48)
oChart:ShowNonworkingDates := .F.
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1K","K1K")
oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2M","K2M")
oItems:AddBar(h,"Task","01/09/2001","01/11/2001","K3K","K3K")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M")
oItems:SetProperty("ItemBar",0,"<K*K>",257/*exBarSelected*/,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1033
|
How can I select all bars in the item with a specified key

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oG2antt:Chart():SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1")
oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2")
oItems:AddBar(h,"Task","01/09/2001","01/11/2001","P","P")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M")
oItems:SetProperty("ItemBar",h,"<K*>",257/*exBarSelected*/,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1032
|
How can I select all bars in the specified item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oG2antt:Chart():SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1")
oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2")
oItems:AddBar(h,"Task","01/09/2001","01/11/2001","P","P")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M")
oItems:SetProperty("ItemBar",h,"<*>",257/*exBarSelected*/,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1031
|
How can I select all bars with a specified key

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oG2antt:Chart():SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1")
oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2")
oItems:AddBar(h,"Task","01/08/2001","01/10/2001","P","P")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","P","P")
oItems:SetProperty("ItemBar",0,"<P>",257/*exBarSelected*/,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1030
|
How can I select all bars

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oG2antt:Chart():SetProperty("PaneWidth",.F.,48)
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1")
oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2")
oItems:AddBar(h,"Task","01/08/2001","01/10/2001","P","P")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M")
oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1029
|
I have the AllowInsideZoom property on True, but I am still not able to use the inside zoom feature

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oInsideZoomFormat
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 3
oChart:FirstWeekDay := 1/*exMonday*/
oChart:Level(0):Label := "Week: <%ww%>"
oLevel := oChart:Level(1)
oLevel:Label := "<%dddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oChart:Level(2):Label := 65536
oChart:NonworkingHours := 16773375
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingHours := .F.
oChart:AllowInsideZoom := .T.
oInsideZoomFormat := oChart:DefaultInsideZoomFormat()
oInsideZoomFormat:InsideUnit := 1048576/*exMinute*/
oInsideZoomFormat:InsideLabel := "<b><%nn%></b>"
oChart:InsideZooms():Add("01/01/2001 10:00:00")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1028
|
Is there any option to find out if two bars intersects

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DefaultItemHeight := 22
oG2antt:Columns():Add("InterectBars")
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/01/2001"
oChart:Bars:Item("Task"):OverlaidType := 1/*exOverlaidBarsOffset*/
oItems := oG2antt:Items()
h := oItems:AddItem("")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A","A")
oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B","B")
oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B"))
h := oItems:AddItem("")
oItems:AddBar(h,"Task","01/06/2001","01/09/2001","A","A")
oItems:AddBar(h,"Task","01/10/2001","01/13/2001","B","B")
oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B"))
h := oItems:AddItem("")
oItems:AddBar(h,"Task","01/06/2001","01/09/2001","B","B")
oItems:AddBar(h,"Task","01/10/2001","01/13/2001","A","A")
oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B"))
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1027
|
How can I find if a specified hour is a working or non-working hour, when using the ItemNonWorkingUnits

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h,w
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Hour"):FormatColumn := "hour(value)"
oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'"
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,164)
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oChart:UnitScale := 65536/*exHour*/
oChart:NonworkingHours := 1
oItems := oG2antt:Items()
h := oItems:AddItem("01/01/2001")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
h := oItems:AddItem("01/01/2001")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,"hour(value) >0 ")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0),h)
oItems:SetProperty("CellValue",h,1,w)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1026
|
How can I find if a specified hour is a working or non-working hour
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h,w
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Hour"):FormatColumn := "hour(value)"
oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'"
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,164)
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oChart:UnitScale := 65536/*exHour*/
oChart:NonworkingHours := 1
oItems := oG2antt:Items()
h := oItems:AddItem("01/01/2001")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
h := oItems:AddItem("01/01/2001 01:00:00")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1025
|
How can I find if a specified date-time is a working or non-working unit, when using the ItemNonWorkingUnits
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h,w
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Date"):Width := 48
oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'"
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,128)
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oItems := oG2antt:Items()
h := oItems:AddItem("01/01/2001")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
h := oItems:AddItem("01/01/2001")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (1)")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0),h)
oItems:SetProperty("CellValue",h,1,w)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1024
|
How can I find if a specified date-time is a working or non-working unit
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h,w
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Date"):Width := 48
oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'"
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,128)
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oItems := oG2antt:Items()
h := oItems:AddItem("01/01/2001")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
h := oItems:AddItem("01/06/2001")
w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0))
oItems:SetProperty("CellValue",h,1,w)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1023
|
When zooming to days, the non-working part of the chart occupies some not useful space. Can I reduce it

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/03/2002"
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:LevelCount := 2
oChart:DrawGridLines := -1/*exAllLines*/
oChart:FirstWeekDay := 1/*exMonday*/
oChart:Level(0):Label := "Week: <%ww%>"
oLevel := oChart:Level(1)
oLevel:Label := "<%d%>/<%m2%>"
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? 'end' : value"
oChart:UnitWidth := 32
oChart:UnitWidthNonworking := -32
oG2antt:Columns():Add("Task")
oItems := oG2antt:Items()
h := oItems:AddItem("Default")
oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1022
|
My chart display only working hours, but when zooming to days, each day shows the non-working part of the day too, even if I use the ShowNonWorkingUnits property on False. What am I doing wrong

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/03/2002 10:00:00"
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:LevelCount := 2
oChart:DrawGridLines := -1/*exAllLines*/
oChart:FirstWeekDay := 1/*exMonday*/
oChart:Level(0):Label := "<%ww%>"
oLevel := oChart:Level(1)
oLevel:Label := "<%dd%>"
oLevel:Unit := 65536/*exHour*/
oLevel:Count := 24
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidth := 32
oG2antt:Columns():Add("Task")
oItems := oG2antt:Items()
h := oItems:AddItem("Default")
oItems:AddBar(h,"Task","01/04/2002 10:00:00","01/08/2002 02:00:00","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1021
|
I need to display only working hours and weekend part, but for some items I need another non-working part. Is this possible

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel,oLevel1
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "01/03/2002"
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:LevelCount := 2
oChart:DrawGridLines := -1/*exAllLines*/
oLevel := oChart:Level(0)
oLevel:Label := "<%ddd%>"
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? '' : value"
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? 'end' : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidthNonworking := -24
oG2antt:Columns():Add("Task")
oItems := oG2antt:Items()
h := oItems:AddItem("Default")
oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
h := oItems:AddItem("Friday")
oItems:AddBar(h,"Task","01/03/2002","01/07/2002 12:00:00","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6,5) or hour(value)<10 or hour(value)>=14")
h := oItems:AddItem("Till 13")
oItems:AddBar(h,"Task","01/04/2002","01/07/2002 12:00:00","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6) or hour(value)<10 or hour(value)>=13")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1020
|
I can display the working hours, but how can I hide the weekend or non-working part of the chart when using the ShowNonWorkingUnits property on False

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oChart:Level(0):Label := "<%ddd%>"
oChart:Level(1):Label := 65536
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingHours := .F.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1019
|
How can I display only the working hours but uses less space for non-working part, such as weekend

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%ddd%>"
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? '' : value"
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? 'end' : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidthNonworking := -24
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1018
|
How can I display only the working hours but uses less space for non-working part, such as weekend

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oChart:Level(0):Label := "<%ddd%>"
oLevel := oChart:Level(1)
oLevel:Label := 65536
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? '' : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidthNonworking := 8
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1017
|
How can I display only the working hours

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oChart:Level(0):Label := "<%ddd%>"
oChart:Level(1):Label := 65536
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1016
|
How can I specify non-working hours

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oChart:Level(0):Label := "<%ddd%>"
oChart:Level(1):Label := 65536
oChart:NonworkingHours := 16761855
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1015
|
How can I display the working hours for a bar

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumns := oG2antt:Columns()
oColumns:Add("Tasks")
oColumn := oColumns:Add("Working")
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"A")
oColumn:FormatColumn := "(0:=round(value*24)) != 0 ? =:0 : ''"
oG2antt:Items():AllowCellValueToItemBar := .T.
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,96)
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "01/03/2002"
oChart:LevelCount := 2
oChart:Level(0):Label := "<%ddd%>"
oChart:Level(1):Label := "<%hh%>"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
h := oItems:AddItem("Task 2")
oItems:AddBar(h,"Task","01/03/2002","01/04/2002","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1014
|
Is it possible to show only working hours, showing a small part for the weekend days, and in the same time showing the bars by splitting the non-working part and keeping the working units for the bar while moving

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL oLevel,oLevel1
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:Bars():Add("Task:Split"):Shortcut := "Task"
oChart:FirstVisibleDate := "01/03/2002"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%ddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `` : value"
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:DrawGridLines := .T.
oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .T.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidthNonworking := -40
oG2antt:Columns():Add("Task")
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A")
oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1013
|
How can I show bars with different solid color but black border

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:VisualAppearance():Add(1,"C:\Program Files\Exontrol\ExG2antt.NET\sample\EBN\blackbox.ebn")
oG2antt:Columns():Add("Task")
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oBar := oG2antt:Chart():Bars:Item("Task")
oBar:SetProperty("Color",0x1000000)
oBar:Height := 15
oG2antt:Chart():SetProperty("PaneWidth",.F.,0)
oItems := oG2antt:Items()
h := oItems:AddItem("Task")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65535)
h := oItems:AddItem("Task")
oItems:AddBar(h,"Task","01/02/2001","01/05/2001","")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1012
|
I want to display a vertical line for each week, while I still need a vertical separator for each day. Is this possible

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:DrawGridLines := -1/*exAllLines*/
oChart:NonworkingDays := 0
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:DrawGridLines := .T.
oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oLevel1 := oChart:Level(1)
oLevel1:DrawGridLines := .T.
oLevel1:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1011
|
How can I display the levels as year, day, AM and PM for each day
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "12/01/2009"
oChart:UnitWidth := 22
oChart:LevelCount := 3
oChart:Level(0):Label := "<%yyyy%>"
oChart:Level(1):Label := "<%mm%>/<%dd%>"
oLevel := oChart:Level(2)
oLevel:Label := "<%AM/PM%>"
oLevel:Count := 12
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1010
|
How can I change the pattern for a specified time unit, in the chart area

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oInsideZoomFormat
LOCAL oInsideZooms
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2008"
oChart:AllowInsideZoom := .T.
oChart:AllowResizeInsideZoom := .F.
oChart:InsideZoomOnDblClick := .F.
oInsideZoomFormat := oChart:DefaultInsideZoomFormat()
oInsideZoomFormat:PatternChart := 6/*exPatternBDiagonal*/
oInsideZoomFormat:SetProperty("PatternColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oInsideZooms := oChart:InsideZooms()
oInsideZooms:SplitBaseLevel := .F.
oInsideZooms:DefaultWidth := 18
oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1009
|
How can I hide the non-working hours, but still display the non-working days with even less space

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "11/19/2009"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%dddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `` : value"
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:DrawGridLines := .T.
oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .T.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidth := 32
oChart:UnitWidthNonworking := -32
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1008
|
How can I hide the non-working hours, but still display the non-working days with less space

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "11/19/2009"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%dddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value"
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:DrawGridLines := .T.
oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value"
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .T.
oChart:ShowNonworkingHours := .F.
oChart:UnitWidth := 32
oChart:UnitWidthNonworking := 12
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1007
|
How can I hide the non-working hours, but still display the non-working days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "11/19/2009"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%dddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:DrawGridLines := .T.
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .T.
oChart:ShowNonworkingHours := .F.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1006
|
How can I hide the non-working hours, and the non-working days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "11/19/2009"
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oLevel := oChart:Level(0)
oLevel:Label := "<%dddd%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel1 := oChart:Level(1)
oLevel1:Label := 65536
oLevel1:DrawGridLines := .T.
oChart:NonworkingHours := 16761855
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingHours := .F.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1005
|
Can I highlights the non-working hours while my chart shows days

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/01/2001"
oChart:UnitWidth := 48
oChart:LevelCount := 2
oLevel := oChart:Level(1)
oLevel:Label := "<%d%>"
oLevel:Unit := 65536/*exHour*/
oLevel:Count := 24
oChart:NonworkingHours := 127
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1004
|
How can I reduce the space/area being occupied by non-working units days or hours (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,64)
oChart:UnitWidthNonworking := -8
oChart:Level(1):FormatLabel := "weekday(dvalue) in (0,6) ? '.' : value"
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1")
oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4")
oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1003
|
How can I reduce the space/area being occupied by non-working units days or hours (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,64)
oChart:UnitWidthNonworking := 4
oChart:Level(1):FormatLabel := "weekday(dvalue) in (0,6) ? '' : value"
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1")
oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4")
oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1002
|
How can I hide the non-working units

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:FirstWeekDay := 1/*exMonday*/
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,64)
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oChart:DrawGridLines := 2/*exVLines*/
oChart:Level(0):DrawGridLines := .T.
oChart:GridLineStyle := 512/*exGridLinesGeometric*/
oItems := oG2antt:Items()
h := oItems:AddItem("Task 1")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1")
oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4")
oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
|
1001
|
How can I determine that a certain bar is the topmost (zorder)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,48)
oChart:FirstVisibleDate := "12/27/2000"
oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/
oItems := oG2antt:Items()
h := oItems:AddItem("B in front")
oItems:AddBar(h,"Task","01/02/2001","01/06/2001","A")
oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B","<fgcolor=FF0000>B</fgcolor>")
oItems:SetProperty("ItemBar",h,"B",18/*exBarOffset*/,-2)
oItems:SetProperty("ItemBar",h,"B",4/*exBarHAlignCaption*/,18)
oItems:SetProperty("ItemBar",h,"B",33/*exBarColor*/,255)
h := oItems:AddItem("A in back")
oItems:AddBar(h,"Task","01/02/2001","01/06/2001","A","<fgcolor=FF0000>A</fgcolor>")
oItems:SetProperty("ItemBar",h,"A",18/*exBarOffset*/,-2)
oItems:SetProperty("ItemBar",h,"A",4/*exBarHAlignCaption*/,18)
oItems:SetProperty("ItemBar",h,"A",33/*exBarColor*/,255)
oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|